package com.ruoyi.exam.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 考试管理对象 examine
 * 
 * @author ruoyi
 * @date 2024-07-01
 */
public class Examine extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 考试名称 */
    @Excel(name = "考试名称")
    private String examName;

    /** 考试描述 */
    private String examDescribe;

    /** 总分数 */
    @Excel(name = "总分数")
    private Long totalPoints;

    /** 及格分数 */
    @Excel(name = "及格分数")
    private Long passMark;

    /** 考试时长 */
    @Excel(name = "考试时长")
    private Long examDuration;

    /** 考试类型 */
    @Excel(name = "考试类型")
    private Long examType;

    /** 是否限时 */
    @Excel(name = "是否限时")
    private Integer isTimeLimit;

    /** 考试开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考试开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date examStartTime;

    /** 考试结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "考试结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date examStopTime;

    /** 考试状态 */
    @Excel(name = "考试状态")
    private Integer examStatus;


    private String deptIds;

    /** 组卷的信息 */
    private String examGeneratingPaper;

    /** 是否逻辑删除:0:否,1:是 */
    private Integer isDeleted;


    public String getDeptIds() {
        return deptIds;
    }

    public void setDeptIds(String deptIds) {
        this.deptIds = deptIds;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setExamName(String examName) 
    {
        this.examName = examName;
    }

    public String getExamName() 
    {
        return examName;
    }
    public void setExamDescribe(String examDescribe) 
    {
        this.examDescribe = examDescribe;
    }

    public String getExamDescribe() 
    {
        return examDescribe;
    }
    public void setTotalPoints(Long totalPoints) 
    {
        this.totalPoints = totalPoints;
    }

    public Long getTotalPoints() 
    {
        return totalPoints;
    }
    public void setPassMark(Long passMark) 
    {
        this.passMark = passMark;
    }

    public Long getPassMark() 
    {
        return passMark;
    }
    public void setExamDuration(Long examDuration) 
    {
        this.examDuration = examDuration;
    }

    public Long getExamDuration() 
    {
        return examDuration;
    }
    public void setExamType(Long examType) 
    {
        this.examType = examType;
    }

    public Long getExamType() 
    {
        return examType;
    }
    public void setIsTimeLimit(Integer isTimeLimit) 
    {
        this.isTimeLimit = isTimeLimit;
    }

    public Integer getIsTimeLimit() 
    {
        return isTimeLimit;
    }
    public void setExamStartTime(Date examStartTime) 
    {
        this.examStartTime = examStartTime;
    }

    public Date getExamStartTime() 
    {
        return examStartTime;
    }
    public void setExamStopTime(Date examStopTime) 
    {
        this.examStopTime = examStopTime;
    }

    public Date getExamStopTime() 
    {
        return examStopTime;
    }
    public void setExamStatus(Integer examStatus)
    {
        this.examStatus = examStatus;
    }

    public Integer getExamStatus()
    {
        return examStatus;
    }
    public void setExamGeneratingPaper(String examGeneratingPaper) 
    {
        this.examGeneratingPaper = examGeneratingPaper;
    }

    public String getExamGeneratingPaper() 
    {
        return examGeneratingPaper;
    }
    public void setIsDeleted(Integer isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Integer getIsDeleted() 
    {
        return isDeleted;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("examName", getExamName())
            .append("examDescribe", getExamDescribe())
            .append("totalPoints", getTotalPoints())
            .append("passMark", getPassMark())
            .append("examDuration", getExamDuration())
            .append("examType", getExamType())
            .append("isTimeLimit", getIsTimeLimit())
            .append("examStartTime", getExamStartTime())
            .append("examStopTime", getExamStopTime())
            .append("examStatus", getExamStatus())
            .append("examGeneratingPaper", getExamGeneratingPaper())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("isDeleted", getIsDeleted())
            .toString();
    }
}
